<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<p>Object.keys() 方法会返回一个由给定对象的所有可枚举自身属性的属性名组成的数组，数组中属性名的排列顺序和使用for-in循环遍历该对象时返回的顺序一致 (顺序一致不包括数字属性)（两者的主要区别是 for-in 还会遍历出一个对象从其原型链上继承到的可枚举属性）。</p>
    <script>
        var arr = ["a","b","c"];
        console.log(Object.keys(arr))// 弹出"0,1,2"

        // 类数组对象
        var obj = { 0 : "a", 100: "b", 2 : "c"};
        console.log(Object.keys(obj)); // 弹出"0,1,2"

        //具有随机键排序的数组类对象
        var an_obj = { 100: 'a', 2: 'b', 7: 'c' };
        console.log(Object.keys(an_obj)); // console: ['2', '7', '100']

        // getFoo是个不可枚举的属性
        var my_obj = Object.create({}, { getFoo : { value : function () { return this.foo } } });
        my_obj.foo = 1;

        console.log(my_obj)
        console.log(Object.keys(my_obj)); // 只弹出foo
    </script>
</body>
</html>